IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = 'sisventas')
BEGIN
    CREATE DATABASE sisventas
END
 GO

create table LOGEO(
IDUSUARIO INT NOT NULL IDENTITY PRIMARY KEY,
USUARIO VARCHAR(50),
PASSWORDUSUARIO VARCHAR(20),
FECHACADUCIDAD DATETIME
);

CREATE TABLE PRODUCTO(
IDPRODUCTO INT NOT NULL IDENTITY PRIMARY KEY,
NOMBRE VARCHAR(50),
TIPOPRODUCTO VARCHAR(30),
MARCAPRODUCTO VARCHAR(35)
);

CREATE TABLE PROMOCION(
IDPROMOCION INT IDENTITY NOT NULL PRIMARY KEY,
PRECIOVENTA DECIMAL(5,2),
PRECIOPROMOCION DECIMAL(5,2),
DESCRIPCION VARCHAR(50)
);
CREATE TABLE PROVEEDOR(
IDPROVEEDOR INT NOT NULL IDENTITY PRIMARY KEY,
NOMBREPROVEEDOR VARCHAR(25),
DIRECCION VARCHAR(25),
TELEFONO VARCHAR(25),
CELULAR VARCHAR(25)
);

CREATE TABLE CLIENTE_NATURAL(
IDPERSONA INT IDENTITY NOT NULL PRIMARY KEY,
NOMBRE VARCHAR(25),
DIRECCIOM VARCHAR(25),
TELEFONO VARCHAR(25),
DNI VARCHAR(25),
PERSONACONTACTO VARCHAR(25),
);

CREATE TABLE EMPRESA(
IDEMPRESA INT IDENTITY NOT NULL PRIMARY KEY,
NOMBRE VARCHAR(25),
DIRECCIOM VARCHAR(25),
PERSONACONTACTO VARCHAR(25),
NUMEROTELEFONO VARCHAR(25),
DOMICILIOFISCAL VARCHAR(25),
);


create table STOCK_PRODUCTO
(
	IDSTOCK_PRODUCTO INT IDENTITY NOT NULL PRIMARY KEY,
	IDPRODUCTO INT,
	IDEMPRESA INT,
	CANTIDAD DECIMAL(7,2),
	UBICACIONFISICA VARCHAR(25),
)
alter table STOCK_PRODUCTO add constraint fk_stock  foreign key (IDPRODUCTO) references PRODUCTO(IDPRODUCTO); 
alter table STOCK_PRODUCTO add constraint fk_stock2  foreign key (IDEMPRESA) references EMPRESA(IDEMPRESA); 


/* tabla padre */
create table ventaBoleta(
idventa INT IDENTITY NOT NULL PRIMARY KEY,
fechaVenta  datetime,
fechaEmision datetime,
IDPERSONA INT not null,
IDEMPRESA INT not null,
IDUSUARIO INT NOT NULL,
MONTOTOTAL DECIMAL(9,2) 
);
alter table ventaBoleta add constraint fk_ventaBoletaClienteNatural
foreign key (IDPERSONA) references CLIENTE_NATURAL(IDPERSONA); 

alter table ventaBoleta add constraint fk_ventaBoletaEmpresa
foreign key (IDEMPRESA) references EMPRESA(IDEMPRESA)

alter table ventaBoleta add constraint fk_ventaBoletaLogeo
foreign key (IDUSUARIO) references LOGEO(IDUSUARIO)

/* AGREGANDO CAMPO A LA TABLA */
/*ALTER TABLE ventaBoleta ADD MONTOTOTAL DECIMAL(9,2) ;*/

create table DetalleVenta(
IDDETALLE INT IDENTITY NOT NULL PRIMARY KEY,
idventa INT NOT NULL,
IDPRODUCTO INT NOT NULL,
CANTIDAD INT NOT NULL,
PRECIO DECIMAL(7,3) NOT NULL,
);

alter table DetalleVenta add constraint fk_DetalleVentaProducto
foreign key (IDPRODUCTO) references PRODUCTO(IDPRODUCTO)

alter table DetalleVenta add constraint fk_DetalleVentaBoleta
foreign key (idventa) references ventaBoleta(idventa)
